home *** CD-ROM | disk | FTP | other *** search
/ Precision Software Appli…tions Silver Collection 4 / Precision Software Applications Silver Collection Volume 4 (1993).iso / stats / sixsig.exe / SSS.DOC < prev    next >
Text File  |  1992-07-11  |  37KB  |  681 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.               ┌──────────────────────────────────────────────────────┐
  11.               │                 Six Sigma Simulator                  │
  12.               │               SSS.EXE....Version 9207                │
  13.               ├──────────────────────────────────────────────────────┤
  14.               │          A Quality Assurance Training Tool:          │
  15.               │  Statistics Committee of the QA Section of the PMA   │
  16.               ├──────────────────────────────────────────────────────┤
  17.               │      Bob Obenchain, CompuServe User [72007,467]      │
  18.               │     5261 Woodfield Drive North, Carmel, IN 46033     │
  19.               └──────────────────────────────────────────────────────┘
  20.  
  21.        SSS.EXE has several potential uses...
  22.  
  23.         Entertainment: SSS can be used as a "Statistician's Screen Saver."
  24.         -------------- But SSS is not a Terminate and Stay Resident (TSR)
  25.                        module, so SSS cannot automatically "pop-up" (like
  26.                        true screen-savers) when your keyboard has remained
  27.                        idle for a specific period of time.  Besides, compared
  28.                        to many of the screen-saver routines presently
  29.                        available, SSS displays are too "predictable" and
  30.                        rather boring.  But isn't that what PEOPLE always say
  31.                        about statistics!!!
  32.  
  33.         Education:     SSS can be used in the classroom or in self-paced
  34.         ----------     learning to illustrate histograms, chi-squared
  35.                        goodness-of-fit tests, and Monte-Carlo techniques.
  36.  
  37.         Filenames:     Files related to the Six-Sigma-Simulator are:
  38.         ----------
  39.                        SSS.EXE ...Main executable module
  40.                        SSS.DOC ...This ASCII documentation file
  41.                        SSS.ICO ...Microsoft Windows 3 icon for SSS
  42.                        SSS.C   ...C-language source code for SSS
  43.  
  44.                        SSS.PAR ...Created by the SSS P=parameter Option
  45.                        SSS.SAV ...Output SAVE file written on EXIT from SSS
  46.  
  47.        CONTENTS:
  48.              (i) Introduction to Motorola "six sigma" terminology and to
  49.                  pseudo-random number options available within SSS.EXE.
  50.             (ii) Invocation of SSS.EXE and Use of Menus.
  51.            (iii) Numerical Examples with 2 billion replications.
  52.             (iv) Advanced concepts illustrated by SSS.
  53.              (v) Warning about DATE when running for more than 48 hours.
  54.             (vi) References and Update History
  55.                                      - 2 -
  56.  
  57.  
  58.  
  59.        INTRODUCTION
  60.        ============
  61.        The concept of "Six-Sigma Capability," Harry(1987), is rapidly
  62.        becoming a catch-phrase here in the United States for "world-class
  63.        quality."  This criterion is defined as follows:
  64.  
  65.             The distance from the target to the spec limits should be
  66.             6 * sigma, and the process mean should be no more than
  67.             1.5 * sigma from the target...where sigma is the standard
  68.             deviation of the process distribution.
  69.  
  70.             In other words, the distance to the CLOSER spec limit from
  71.             the process mean should be at least 4.5 * sigma.
  72.  
  73.             A process operating either at or better than this capability
  74.             level is expected to produce nonconforming units at a rate of
  75.             at most 3.4 parts per million.  (Note: all of these "defects"
  76.             are expected to occur as violations of the closer spec limit.)
  77.  
  78.        The final statement above is based upon theoretical calculations for
  79.        a Normal distribution; SSS.EXE uses those same calculations and also
  80.        pseudo-random Normal variate simulation to form a histogram with 50
  81.        cells that cover the plus-or-minus six sigma range.
  82.  
  83.        Note that a more "descriptive" title for the basic Motorola concept
  84.        might well be... "One-Tailed 4.5 Sigma Capability."  Or, as pointed
  85.        out by Carr(1991), this is the capability level corresponding to a
  86.        C-sub-pk statistic of 1.5.  In any case, if you COULD refine your
  87.        processes to the point where your specification limits were (at least)
  88.        six standard deviations away from your target and your process mean
  89.        were (no more than) one-and-one-half standard deviations from this
  90.        same target, then your process YIELD (percent of product within spec)
  91.        should be very, very high!  Right?
  92.  
  93.        Well, yes, yields probably would be very good in this case.  But how
  94.        much "reality" can there be in the one-tailed 4.5 sigma defect rate of
  95.        3.4 parts per million that corresponds to a process of EXACTLY Normal
  96.        form?  How about the even more "extreme" one-tailed 6.0 sigma defect
  97.        rate of 1-part-per-billion?  If one can fail to demonstrate these
  98.        yield rates using state-of-the-art random number generation on a
  99.        computer, how much hope can there be in actual, industrial practice?
  100.  
  101.        The "Six Sigma Simulator," SSS, uses color-text graphics (25 or 43
  102.        lines per screen) to display "dynamic" histograms of pseudo-random
  103.        i.i.d.  Normal variables with mean zero and variance one.  To achieve
  104.        maximum speed, accuracy, and MS-DOS portability, SSS was compiled using
  105.        Microsoft C version 6.00AX and uses state-of-the-art computing
  106.        algorithms for uniform pseudo-random number generation and for
  107.        Box-Muller transformation to a pair of independent Normal variates.
  108.        Functions compiled from code with Copyright 1987, 1988 by Numerical
  109.        Recipes Software were bound into SSS.EXE by permission of the authors.
  110.                                      - 3 -
  111.  
  112.  
  113.  
  114.          For uniform pseudo-random number generation, SSS includes the
  115.          ran1(), ran2(), and ran(3) functions of Press, Flannery, Teukolsky,
  116.          and Vetterling(1988) as well as a Wichman-Hill(1982) algorithm.
  117.  
  118.          rntype=1: The ran1() function that uses three linear congruential
  119.                    generators.
  120.  
  121.          rntype=2: The ran2() function that uses a single congruential
  122.                    generator.  This function can be fast but produces a
  123.                    "comb" of ONLY 714,025 different values on (0,1).
  124.  
  125.          rntype=3: A floating point version of the ran3() function, which
  126.                    is the fast "subtractive" algorithm due to Knuth.
  127.  
  128.          rntype=4: An implementation of the Wichman-Hill(1982) algorithm;
  129.                    see also remarks by McLeod(1985) and Zeisel(1986).
  130.  
  131.  
  132.          To generate a pair of independent Normal variates, SSS uses one of
  133.          two implementations of the Box-Muller transformation.  Both methods
  134.          require computation of a logarithm...
  135.  
  136.          bmtype=0: The gasdev() function of Press, Flannery, Teukolsky, and
  137.                    Vetterling (1988) rescales uniform variates to the range
  138.                    (-1.0,1.0) and rejects any pair that falls outside of the
  139.                    unit circle.
  140.  
  141.          bmtype=1: This is the brute force trignometric approach which
  142.                    requires computation of a sine and a cosine as well as
  143.                    the logarithm.
  144.  
  145.  
  146.        Timing Results:
  147.        ===============
  148.        Here are the times needed to generate 500,000 replicates with SSS
  149.        on a 33Mhz 80486-machine...
  150.                                           Trig.Transform   Rej.Transform
  151.                                             (bmtype=1)       (bmtype=0)
  152.          rntype=1: three  generators....    69 seconds       68 seconds
  153.          rntype=2: single generator.....    58 seconds       54 seconds
  154.          rntype=3: float, subtractive...    52 seconds       47 seconds
  155.          rntype=4: Wichman-Hill.........    64 seconds       62 seconds
  156.  
  157.        As a result of the above timing comparisons, the trignometric
  158.        (bmtype=1) transformation is highly recommended for use on all
  159.        personal computers that have either a built-in (80486) or an add-on
  160.        (8087,80287,80387) numeric math coprocessor chip.  The rejection
  161.        (bmtype=0) transform may run from 1% to 9% faster on these machines,
  162.        but it does much less well in simulating tail-area probabilities
  163.        (outside of +/- 5 sigma) than does the bmtype=1 transform.
  164.                                      - 4 -
  165.  
  166.  
  167.  
  168.        Choice of pseudo-random number generation algorithm is less clear cut.
  169.        Knuth (rntype=3) is fastest, at least when a numeric math coprocessor
  170.        is present.  The long-run marginal distribution is exceptionally
  171.        smooth for the Wichman-Hill algorithm (rntype=4) and somewhat more
  172.        smooth for the "comb" (rntype=2) than for the rntype= 1 and 3 choices.
  173.        As a result, rntype= 4 and 2 tend to produce much lower chi-squared
  174.        lack-of-fit statistics than do the other two algorithms.
  175.  
  176.        On personal computers that do NOT have a built-in or add-on numeric
  177.        math coprocessor, SSS will run about 15 to 20 TIMES MORE SLOWLY than
  178.        when an 8087, 80287, 80387 or 80486 chip is present.  Compare the
  179.        above times for generating 500,000 replicates to the following times
  180.        for generating only 50,000 replicates (1 tenth as many) when numeric
  181.        math capability has been disabled on a 33Mhz 80486 machine...
  182.  
  183.                                           Trig.Transform   Rej.Transform
  184.                                             (bmtype=1)       (bmtype=0)
  185.        rntype=1: three generators.....     126 seconds       95 seconds
  186.        rntype=2: single generator.....     130 seconds       99 seconds
  187.        rntype=3: float, subtractive...     129 seconds       99 seconds
  188.        rntype=4: Wichman-Hill.........     145 seconds      119 seconds
  189.  
  190.        If your personal computer does NOT have a built-in or add-on numeric
  191.        math coprocessor, SSS may run about 32% faster with bmtype=0 than with
  192.        bmtype=1.  The resulting loss of precision in tail-probability
  193.        estimation may be unimportant to you...say, when you are using SSS
  194.        primarily as a colorful and dynamic "Screen Saver."  Furthermore, you
  195.        might want to avoid the Wichman-Hill algorithm (rntype=4) in this
  196.        case!
  197.  
  198.          If your personal computer has a numeric math coprocessor you can
  199.          disable it (at least, from use by programs compiled with Microsoft
  200.          C, such as SSS) by defining a "no87" environmental string
  201.          variable.  Simply enter the following command at your DOS prompt>
  202.  
  203.                                    set no87=true
  204.  
  205.          You can later re-enable numeric math processing by eliminating the
  206.          "no87" string variable from your environment...
  207.  
  208.                                    set no87=
  209.  
  210.        USAGE of SSS.EXE
  211.        ================
  212.        To start up the Six-Sigma-Simulator, ENTER the command SSS at your
  213.        MS-DOS (>) prompt:
  214.                              MyPrompt> sss
  215.  
  216.        The Six-Sigma-Simulator will initially start in "Menu-Off" mode, but a
  217.        MENU will appear (and histograms will become about half-size) if you
  218.        press a key...say, the SPACEBAR.
  219.                                      - 5 -
  220.  
  221.  
  222.  
  223.        Once the MENU is visible, you may activate any one of 11 options by
  224.        pressing a single key.  Any keystroke other than one of these eleven
  225.        will be ignored:
  226.  
  227.            T    ...display histogram of a "True" normal distribution
  228.            C    ..."Cumulative" Histogram (everything since last R=reset)
  229.            I    ..."Incremental" Histograms (most recent SampSize results)
  230.            L    ...Toggle display between the 25 and 43 Line modes
  231.            M    ...go to "Menu Off" mode (larger histograms)
  232.            N    ...display Narrow(er) histogram cells on the screen
  233.                    [e.g. 1 (or 2) bars per cell instead of 2 (or 4).]
  234.            P    ...specify simulation Parameters
  235.            R    ...Reinitialize simulation
  236.            S    ...set Sample Size (replications per batch)
  237.            W    ...display Wide(r) histogram cells on the screen
  238.                    [e.g. 2 (or 4) bars per cell instead of 1 (or 2).]
  239.            ESC  ...press the ESCape key to exit from SSS
  240.  
  241.        When the SSS P=parameter Menu Option is selected, SSS will...
  242.           (i) prompt the user to specify values for five parameter settings,
  243.          (ii) save all seven SSS parameters to a file named SSS.PAR, and
  244.         (iii) restart the simulation over from the beginning (as in Menu
  245.               item R=reset) using any new parameter settings.  For example:
  246.  
  247.          Set using "S" =>    500  ;number of replications per batch
  248.                                0  ;Box-Muller type [0,1]
  249.                                3  ;random number type [1,2,3,4]
  250.          Set using "L" =>     25  ;number of screen rows
  251.                                0  ;random number seed
  252.                              3.0  ;minimum expectancy in tail cells
  253.                          1000000  ;maximum total replications
  254.  
  255.        These seven parameters are:
  256.  
  257.               Variable                            Minimum Default Maximum
  258.               Name      Brief Explanation          Value   Value   Value
  259.               -------   ------------------------  ------- ------- -------
  260.               SampSize  Replications per Batch       10     100     1000
  261.               bmtype    Box-Muller Transform Type     0       1        1
  262.               rntype    Random Number Generator Type  1       1        4
  263.               idum      Random Number SEED Value      0       0*   32767**
  264.               tRows     Screen Rows                  25      43       43
  265.  
  266.               exptmin   Minimum Expectancy per
  267.                         Tail Cell for chi-squared    1.0    3.0      5.0
  268.                         goodness-of-fit statistic
  269.  
  270.               maxreps   Maximum Total No. of Reps. 10,000 2billion 2billion
  271.                                                            [2,000,000,000]
  272.  
  273.            * Note: idum = 0 causes SSS.EXE to use your personal computer
  274.            clock to generate each start-up seed value; different runs (and
  275.            resets) of SSS.EXE usually start out (and progress) differently
  276.                                      - 6 -
  277.  
  278.  
  279.  
  280.            in this case.  A positive value (1<=idum<=32767) will cause each
  281.            run (or reset) of SSS.EXE to start at the exact same point of a
  282.            pseudo-random sequence; "final" cumulative results will then
  283.            depend only upon how long the user waits before pressing the ESC
  284.            key to terminate SSS.EXE.
  285.  
  286.            ** Note: The Wichman-Hill generator (rntype=4) is initiated with a
  287.            seed within the range 1 <= idum <= 30,000.  C-code fragment reads:
  288.            while( idum > 30000 ) idum = idum%(30000); if( idum < 1 ) idum = 1;
  289.  
  290.        In SSS, results are accumulated using "long" integer values that
  291.        cannot exceed 2,147,483,647.  SSS.EXE automatically stops (and writes
  292.        out summary results in a file named SSS.SAV) after "maxreps"
  293.        replications.  On the other hand, that many replications would require
  294.        about 70 hours on a 33Mhz 486-machine!  Of course, you can always stop
  295.        SSS.EXE whenever you want by simply pressing the ESCape key.
  296.  
  297.        If SSS.EXE cannot find a file named SSS.PAR in the current MS-DOS
  298.        working directory, it will use the DEFAULT values listed above for
  299.        its seven parameters.
  300.  
  301.        Here is a "screen print" of SSS.EXE operating in 25-line mode with
  302.        its MENU on and Cell-Width set at 1 Bar (0.25 standard deviation):
  303.        --------------------------------------------------------------------
  304.         3                                  ╔════════════════════════════════╗
  305.          ▀▀                                ║                                ║
  306.          ▀▀                                ║       Six Sigma Simulator      ║
  307.                                             ║                                ║
  308.         2                                   ║  True                          ║
  309.          ▀▀▀▀▀                              ║  Cumulative                    ║
  310.          ▀▀▀▀                               ║  Incremental         <<<       ║
  311.          ▀▀▀▀▀                              ║  Lines                         ║
  312.         1▀▀▀▀▀▀▀▀▀▀▀▀▀▀                     ║  MenuOff         NarrowCells   ║
  313.          ▀▀▀▀▀▀▀                            ║  Parameters      ResetAccum    ║
  314.          ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀                ║  SampleSize      WideCells     ║
  315.          ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ║                                ║
  316.         0▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀     ║  Replications =     36500      ║
  317.          ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ║  Cum. Chi Sq. =     25.89 (31) ║
  318.          ▀▀▀▀▀▀▀▀                           ║  Inc. Chi Sq. =     12.28 (21) ║
  319.          ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀        ║                                ║
  320.        -1▀▀▀▀▀▀▀▀▀▀▀▀▀▀                     ║  Press a Menu Letter Key       ║
  321.          ▀▀▀▀▀▀▀▀                           ║   ( T C I L M N P R S W )      ║
  322.          ▀▀▀▀▀                              ║  or Press ESCape to quit: I    ║
  323.                                             ║                                ║
  324.        -2▀▀▀▀▀▀▀▀                           ╚════════════════════════════════╝
  325.          ▀▀▀▀                               
  326.                                        
  327.          ▀▀▀▀▀▀                       
  328.        -3                             
  329.        -------------------------------------------------------------------------
  330.        The SSS histogram is usually refreshed each time a new "batch" of
  331.        pseudo-Normal variables are generated.  Three different kinds of
  332.        histogram displays may be selected:
  333.                                      - 7 -
  334.  
  335.  
  336.  
  337.                       Incremental:  Only the last batch [SampSize] of values.
  338.                       Cumulative:   All values since the last reset.
  339.                       True:         Theoretical expected proportions.
  340.  
  341.        When your batch size is small (but at least 10), a large proportion of
  342.        your computer's cycles will be used for screen updates, but the
  343.        Incremental display is most variable (interesting?) in these cases.
  344.  
  345.        When your batch size is large (but at most 1000), overhead costs
  346.        are minimized and the Cumulative display will approach the True
  347.        form much more quickly than when batches are small.
  348.  
  349.        Histogram cell widths are 1, 2, or 4 horizontal Bars, where each Bar
  350.        represents 0.25 of one standard deviation.  Results are always
  351.        accumulated into 50 cells for chi-square testing.  The top cell counts
  352.        all values strictly greater than 6 standard deviations above the mean,
  353.        and the bottom cell accumulates counts of values greater than or equal
  354.        to 6 standard deviations below the mean.  Upon exit from SSS.EXE
  355.        results for all 50 cells are automatically written to a file named
  356.        SSS.SAV.  All 50 cells cannot, however, be displayed in the colorful,
  357.        dynamic histograms that appear on your computer screen while SSS.EXE is
  358.        actually running...
  359.  
  360.            In 25-line mode, the top row corresponds to observed counts in
  361.            the histogram cell (3.00, 3.25] standard deviations above the
  362.            mean.  And the bottom row represents (-3.00, -2.75] standard
  363.            deviations below the mean.
  364.  
  365.            In 43-line mode, the top row corresponds to observed counts in
  366.            the histogram cell (5.25, 5.50] standard deviations above the
  367.            mean.  And the bottom row represents (-5.25, -5.00] standard
  368.            deviations below the mean.
  369.  
  370.            The labels along the left screen margin represent the lower (>=)
  371.            limit for that row; values assigned to the next row down were
  372.            strictly less (<) than the labeled value.
  373.  
  374.        The up and down arrows ( & ) displayed on the Incremental and
  375.        Cumulative screens demark the cells that must be merged together to
  376.        accumulate the minimum chi-squared expectancy in each tail of the
  377.        distribution.  The number of arrows (cells) will never change on the
  378.        Incremental display because each such display corresponds to the same
  379.        number of observations.  But the number of arrows (merged cells) will
  380.        diminish on the Cumulative display as results accumulate; in 25-line
  381.        mode, all such merged cells are frequently "off the screen."
  382.  
  383.        MUMERICAL EXAMPLES
  384.        ==================
  385.        The first six columns of two SSS.SAV output files are listed below for
  386.        runs in which 2 billion pseudo-random Normal deviates were generated:
  387.                                      - 8 -
  388.  
  389.  
  390.  
  391.                                 <<< EXAMPLE ONE >>>
  392.  
  393.        Random Number Seed  = -12345
  394.        Elapsed Simulation Time = 75.9 hours on a 33Mhz 80486
  395.  
  396.        SSS Parameter Settings...
  397.             1  ;Box-Muller type [0,1]             <== brute-force trig.
  398.             4  ;random number type [1,2,3,4]      <== exceptionally smooth
  399.           500  ;replications per batch                (Wichman-Hill)
  400.            25  ;number of screen rows
  401.  
  402.        SSS Summary Statistics...
  403.        Total Number of Replications = 2,000,000,000
  404.        Minimum Expectancy in Tail Cells =  3.0
  405.        Cum. Chi Sq. =    31.53 with d.f.= 47
  406.        Inc. Chi Sq. =    15.47 with d.f.= 21
  407.  
  408.        Row  CutVal    ExpFract     ExpTail    CumFract   ChiSq
  409.         0   6.0000 0.000000001 0.000000001 0.000000001    0.00
  410.         1   5.7500 0.000000003 0.000000004 0.000000003    0.10
  411.         2   5.5000 0.000000015 0.000000019 0.000000016    0.30
  412.         3   5.2500 0.000000057 0.000000076 0.000000051    1.29
  413.         4   5.0000 0.000000211 0.000000287 0.000000215    0.14
  414.         5   4.7500 0.000000730 0.000001017 0.000000720    0.30
  415.         6   4.5000 0.000002381 0.000003398 0.000002367    0.17
  416.         7   4.2500 0.000007291 0.000010689 0.000007301    0.03
  417.         8   4.0000 0.000020983 0.000031671 0.000021163    3.08
  418.         9   3.7500 0.000056746 0.000088417 0.000056807    0.13
  419.        10   3.5000 0.000144212 0.000232629 0.000144274    0.05
  420.        11   3.2500 0.000344396 0.000577025 0.000344469    0.03
  421.        12   3.0000 0.000772873 0.001349898 0.000773634    1.50
  422.        13   2.7500 0.001629865 0.002979763 0.001628786    1.43
  423.        14   2.5000 0.003229902 0.006209665 0.003231321    1.25
  424.        15   2.2500 0.006014807 0.012224472 0.006014945    0.01
  425.        16   2.0000 0.010525658 0.022750130 0.010529525    2.84
  426.        17   1.7500 0.017309025 0.040059155 0.017307328    0.33
  427.        18   1.5000 0.026748047 0.066807202 0.026744732    0.82
  428.        19   1.2500 0.038842578 0.105649780 0.038837542    1.31
  429.        20   1.0000 0.053005481 0.158655261 0.053008091    0.26
  430.        21   0.7500 0.067972080 0.226627342 0.067971260    0.02
  431.        22   0.5000 0.081910175 0.308537517 0.081910796    0.01
  432.        23   0.2500 0.092756175 0.401293692 0.092750980    0.58
  433.        24   0.0000 0.098706323 0.500000015 0.098710573    0.37
  434.        25  -0.2500 0.098706293 0.499999985 0.098712368    0.75
  435.        26  -0.5000 0.092756175 0.401293692 0.092752522    0.29
  436.        27  -0.7500 0.081910175 0.308537517 0.081907382    0.19
  437.        28  -1.0000 0.067972080 0.226627342 0.067969859    0.15
  438.        29  -1.2500 0.053005481 0.158655261 0.053005838    0.00
  439.        30  -1.5000 0.038842578 0.105649780 0.038845790    0.53
  440.        31  -1.7500 0.026748047 0.066807202 0.026750819    0.57
  441.        32  -2.0000 0.017309025 0.040059155 0.017308901    0.00
  442.        33  -2.2500 0.010525658 0.022750130 0.010521947    2.62
  443.        34  -2.5000 0.006014807 0.012224472 0.006016818    1.35
  444.                                      - 9 -
  445.  
  446.  
  447.  
  448.        35  -2.7500 0.003229902 0.006209665 0.003229841    0.00
  449.        36  -3.0000 0.001629865 0.002979763 0.001631015    1.62
  450.        37  -3.2500 0.000772873 0.001349898 0.000773311    0.50
  451.        38  -3.5000 0.000344396 0.000577025 0.000344350    0.01
  452.        39  -3.7500 0.000144212 0.000232629 0.000143954    0.92
  453.        40  -4.0000 0.000056746 0.000088417 0.000056830    0.25
  454.        41  -4.2500 0.000020983 0.000031671 0.000020895    0.73
  455.        42  -4.5000 0.000007291 0.000010689 0.000007312    0.12
  456.        43  -4.7500 0.000002381 0.000003398 0.000002366    0.19
  457.        44  -5.0000 0.000000730 0.000001017 0.000000707    1.50
  458.        45  -5.2500 0.000000211 0.000000287 0.000000216    0.23
  459.        46  -5.5000 0.000000057 0.000000076 0.000000054    0.44
  460.        47  -5.7500 0.000000015 0.000000019 0.000000011    2.23
  461.        48  -6.0000 0.000000003 0.000000004 0.000000005    0.13
  462.        49 -99.9900 0.000000001 0.000000001 0.000000000    0.00
  463.                                                               
  464.        This first run demonstrates exceptionally good agreement between
  465.        SSS.EXE simulation results for bmtype=1 and rntype=4 with theoretical
  466.        Normal calculations.  In fact, the 5% significance point of the chi-
  467.        squared distribution with 47 degrees-of-freedom is 32.3 (while its 95%
  468.        significance point is 64.0).  Thus the observed lack-of-fit is TOO
  469.        SMALL to be attributable to mere chance at the 5% significance level!
  470.  
  471.                                 <<< EXAMPLE TWO >>>
  472.  
  473.        Random Number Seed  = -12345
  474.        Elapsed Simulation Time = 62.4 hours on a 33Mhz 80486
  475.  
  476.        SSS Parameter Settings...
  477.             1  ;Box-Muller type [0,1]             <== brute-force trig.
  478.             2  ;random number type [1,2,3,4]      <== unusually smooth
  479.           500  ;replications per batch               ("comb" algorithm)
  480.            25  ;number of screen rows
  481.  
  482.        SSS Summary Statistics...
  483.        Total Number of Replications = 2,000,000,000
  484.        Minimum Expectancy in Tail Cells =  3.0
  485.        Cum. Chi Sq. =   566.13 with d.f.= 47
  486.        Inc. Chi Sq. =    15.26 with d.f.= 21
  487.  
  488.        Row  CutVal    ExpFract     ExpTail    CumFract   ChiSq
  489.         0   6.0000 0.000000001 0.000000001 0.000000000    0.00
  490.         1   5.7500 0.000000003 0.000000004 0.000000000    8.92
  491.         2   5.5000 0.000000015 0.000000019 0.000000000   29.05
  492.         3   5.2500 0.000000057 0.000000076 0.000000000  114.12
  493.         4   5.0000 0.000000211 0.000000287 0.000000276   40.62
  494.         5   4.7500 0.000000730 0.000001017 0.000000809   16.69
  495.         6   4.5000 0.000002381 0.000003398 0.000002449    3.93
  496.         7   4.2500 0.000007291 0.000010689 0.000007368    1.63
  497.         8   4.0000 0.000020983 0.000031671 0.000020699    7.70
  498.         9   3.7500 0.000056746 0.000088417 0.000056457    2.95
  499.        10   3.5000 0.000144212 0.000232629 0.000144394    0.46
  500.        11   3.2500 0.000344396 0.000577025 0.000344105    0.49
  501.                                      - 10 -
  502.  
  503.  
  504.  
  505.        12   3.0000 0.000772873 0.001349898 0.000773961    3.06
  506.        13   2.7500 0.001629865 0.002979763 0.001630663    0.78
  507.        14   2.5000 0.003229902 0.006209665 0.003230489    0.21
  508.        15   2.2500 0.006014807 0.012224472 0.006015109    0.03
  509.        16   2.0000 0.010525658 0.022750130 0.010527101    0.40
  510.        17   1.7500 0.017309025 0.040059155 0.017304485    2.38
  511.        18   1.5000 0.026748047 0.066807202 0.026753897    2.56
  512.        19   1.2500 0.038842578 0.105649780 0.038841508    0.06
  513.        20   1.0000 0.053005481 0.158655261 0.053003540    0.14
  514.        21   0.7500 0.067972080 0.226627342 0.067975115    0.27
  515.        22   0.5000 0.081910175 0.308537517 0.081904990    0.66
  516.        23   0.2500 0.092756175 0.401293692 0.092758738    0.14
  517.        24   0.0000 0.098706323 0.500000015 0.098695066    2.57
  518.        25  -0.2500 0.098706293 0.499999985 0.098710461    0.35
  519.        26  -0.5000 0.092756175 0.401293692 0.092758795    0.15
  520.        27  -0.7500 0.081910175 0.308537517 0.081906534    0.32
  521.        28  -1.0000 0.067972080 0.226627342 0.067974338    0.15
  522.        29  -1.2500 0.053005481 0.158655261 0.053007317    0.13
  523.        30  -1.5000 0.038842578 0.105649780 0.038838293    0.95
  524.        31  -1.7500 0.026748047 0.066807202 0.026757881    7.23
  525.        32  -2.0000 0.017309025 0.040059155 0.017306851    0.55
  526.        33  -2.2500 0.010525658 0.022750130 0.010524504    0.25
  527.        34  -2.5000 0.006014807 0.012224472 0.006013421    0.64
  528.        35  -2.7500 0.003229902 0.006209665 0.003231136    0.94
  529.        36  -3.0000 0.001629865 0.002979763 0.001629847    0.00
  530.        37  -3.2500 0.000772873 0.001349898 0.000772596    0.20
  531.        38  -3.5000 0.000344396 0.000577025 0.000344465    0.03
  532.        39  -3.7500 0.000144212 0.000232629 0.000144024    0.49
  533.        40  -4.0000 0.000056746 0.000088417 0.000056623    0.54
  534.        41  -4.2500 0.000020983 0.000031671 0.000020928    0.29
  535.        42  -4.5000 0.000007291 0.000010689 0.000007216    1.56
  536.        43  -4.7500 0.000002381 0.000003398 0.000002402    0.37
  537.        44  -5.0000 0.000000730 0.000001017 0.000000832   28.25
  538.        45  -5.2500 0.000000211 0.000000287 0.000000332  138.81
  539.        46  -5.5000 0.000000057 0.000000076 0.000000000  114.12
  540.        47  -5.7500 0.000000015 0.000000019 0.000000000   29.05
  541.        48  -6.0000 0.000000003 0.000000004 0.000000000    8.92
  542.        49 -99.9900 0.000000001 0.000000001 0.000000000    0.00
  543.                                                               
  544.        No values were generated >= +5.25 or < -5.25 standard deviations from
  545.        the mean in 2 billion attempts.  However, instead of rates of
  546.        deviations beyond +/- 4.5 standard deviations of only 3.398 parts per
  547.        million in each tail (both above and below the mean), we observed
  548.        slightly more: 2.449 + 0.809 + 0.276 = 3.534 ppm in the upper tail and
  549.        2.402 + 0.832 + 0.332 = 3.566 ppm in the lower tail.
  550.  
  551.        Note, in particular, that the overall chi-squared lack-of-fit of
  552.        566.13 is gigantic due primarily to cells > +4.75 and < -4.75 standard
  553.        deviations from the mean; 487.93 units of the overall statistic came
  554.        from the six top and six bottom cells.  But the contribution of the
  555.        remaining cells sums to 78.2, which is still STATISTICALLY
  556.        significant!
  557.                                      - 11 -
  558.  
  559.  
  560.  
  561.        This second run still demonstrates reasonable NUMERICAL agreement
  562.        between SSS.EXE simulation results for bmtype=1 and rntype=2 with
  563.        theoretical Normal calculations.
  564.  
  565.  
  566.                                <<< OTHER EXAMPLES >>>
  567.  
  568.        Rather than list several more numerical examples here, I will summarize
  569.        my experiences with SSS.EXE as follows:
  570.  
  571.            SSS.EXE simulation results with bmtype=0 tend to be somewhat more
  572.            "short tailed" than a theoretical Normal distribution.
  573.  
  574.            SSS.EXE simulation results with rntype = 1 and 3 are less smoothly
  575.            uniform in the long-run than are those with the rntype = 2 "comb."
  576.            And rntypes = 1, 2, and 3 are MUCH less smoothly uniform in the
  577.            long-run than is Wichman-Hill (rntype = 4).  Not only that, the
  578.            Wichman-Hill algorithm apparently is capable of producing uniform
  579.            variate values much closer to 0.0 and 1.0 than are the rntype = 1,
  580.            2, and 3 algorithms.
  581.  
  582.            Simulation of an entire doubly-unbounded distribution is a truly
  583.            difficult task.  Simulation results can be expected to be least
  584.            accurate in the tails.  But tails that are "too thin" also imply,
  585.            of course, that the center ends up being "too thick"...or vice
  586.            versa.  As a result, significant lack-of-fit to the parent can
  587.            occur anywhere, even near the "center" of the distribution.
  588.  
  589.  
  590.        ADVANCED CONCEPTS
  591.        =================
  592.        Rare-event simulations using the brute-force approach of simply
  593.        generating literally millions of values with "realistic" pseudo-
  594.        random algorithms (like rntype = 1 & 3) are unlikely to yield results
  595.        that are very close, numerically, to a corresponding "theoretical"
  596.        value.  Murphy's law says that anything that possibly could go wrong
  597.        surely will have in a large-scale simulation.  But this is also
  598.        precisely what makes simulation results more "realistic" than
  599.        theoretical calculations!
  600.  
  601.        With "realistic" pseudo-random number algorithms, very large samples
  602.        are actually expected to be significantly different, statistically,
  603.        from their "true" parent distribution.  In the sense that their
  604.        long-range marginal distributions are unusually smooth, the rntype = 4
  605.        and 2 pseudo-random number generators are actually "less realistic"
  606.        than rntype = 1 or 3.  On the other hand, even the highly
  607.        "significant" observed differences between the theoretical Normal
  608.        calculations and simulation results from rntype=1 and 3 generators are
  609.        MUCH TOO SMALL NUMERICALLY to be of any "practical" importance...i.e.
  610.        they certainly do not cast any reasonable doubt upon the usefulness of
  611.        theoretical, stochastic models or of pseudo-random number generators.
  612.                                      - 12 -
  613.  
  614.  
  615.  
  616.        DATE WARNING
  617.        ============
  618.        SSS.EXE attempts to keep track of the total number of seconds it
  619.        executed (past its last reset, if any) and writes this information,
  620.        along with a Date/Time stamp, when it creates the SSS.SAV output save
  621.        file.  Unfortunately, if SSS executes for more than 48 hours, your
  622.        system clock may fail to update the DATE, and your system will end up
  623.        loosing one (or more) days.  Time-of-day should remain correct,
  624.        however.  Sorry about this date BUG!!!
  625.  
  626.  
  627.        REFERENCES
  628.        ==========
  629.        Carr, Wendell E. (1991). "A New Process Capability Index: Parts Per
  630.               Million."  Quality Progress 24, no.8 (August), page 152.
  631.  
  632.        Harry, Mikel J. (1987). "The Nature of Six-Sigma Quality." (booklet)
  633.               Motorola Communications Sector, Schaumburg, IL.
  634.  
  635.        McLeod, A. Ian (1985).  "Remark AS R58: A Remark on Algorithm AS 183.
  636.               An Efficient and Portable Pseudo-Random Number Generator."
  637.               Applied Statistics 34, 198-200.
  638.  
  639.        Press, William H., Flannery, Brian P., Teukolsky, Saul A., and
  640.               Vetterling, William T.  (1988). "Numerical Recipes in C: The Art
  641.               of Scientific Computing."  [especially Chapter 7:  Random Number
  642.               Generation.]  Cambridge University Press. {Source Code:
  643.               Copyright 1985, 1987 by Numerical Recipes Software, P.O.Box 243,
  644.               Cambridge, MA 02238.}
  645.  
  646.        Wichman, B. A. and Hill, I. D. (1982). "Algorithm AS 183: An Efficient
  647.               and Portable Pseudo-Random Number Generator."  Applied Statistics
  648.               31, 188-190.
  649.  
  650.        Zeisel, H. (1986). "Remark AS R61: A Remark on Algorithm AS 183.  An
  651.               Efficient and Portable Pseudo-Random Number Generator."  Applied
  652.               Statistics 35, 89.
  653.  
  654.        SSS Update History:
  655.        ===================
  656.            9109 ...Accumulate using LONG integers; Correct Motorola Description
  657.            9111 ...Increase Size of Histrograms in Default, "No Menu" Mode.
  658.            9201 ...Choice of 4 pseudo-random and 2 Box-Muller algorithms;
  659.                    increase number of histogram cells to 50 (i.e. reduce width
  660.                    to 0.25 of one standard deviation), and depict only the
  661.                    "center" 25 or 43 cells in dynamic "screen displays."
  662.            9203 ...Switch from the unsigned-long to the (somewhat faster)
  663.                    integer based version of the Wichman-Hill generator.
  664.            9204 ...Modify Wichman-Hill generator a la McLeod(1985).
  665.            9207 ...Rename Menu Item: N=no Menu     to  M=menu Off
  666.                    Rename Menu Item: R=reset       to  P=parameters
  667.                    Add    Menu Item: N=narrowCells to  Decrease cell widths
  668.                                                        to 1 or 2 Bars / Cell
  669.                                      - 13 -
  670.  
  671.  
  672.  
  673.                    Add    Menu Item: R=resetAccum  to  Reinitialize
  674.                                                        Simulation
  675.                    Add    Menu Item: S=sample Size to  Determine Number of
  676.                                                        Replications per Batch
  677.                    Add    Menu Item: W=wideCells   to  Increase cell widths
  678.                                                        to 2 or 4 Bars / Cell
  679.        +---------------------------End of SSS.DOC-----------------------------+
  680.  
  681.